home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
CUGUK
/
COMMS
/
C100.ZIP
/
KERMIT.ZIP
/
CKUKER.UPD
< prev
next >
Wrap
Text File
|
1990-01-31
|
41KB
|
1,061 lines
C-KERMIT FOR UNIX, CHANGES FROM VERSION 4E(069) TO 4E(070), 29 Jan 88
ckuusr.c
Put reference to SIGSTOP in #ifdef SIGTSTP conditionals.
ckcmai.c
Update version number and date.
C-KERMIT FOR UNIX, CHANGES FROM VERSION 4E(068) TO 4E(069), 27 Jan 88
ckcfn2.c:
In input(), set the rdatap pointer to the timeout message.
ckucmd.c:
Change name of getwd() to gtword(), to avoid conflict with BSD getwd()
function.
ckufio.c:
Change to conditionalize zgtdir() function, calling getwd() for BSD,
getcwd() for System V, and returning a constant string for others.
ckutio.c:
Change foreground/background test in conint() for Berkeley to be based
on something that really works, namely testing the process group against
the controlling terminal's process group. There is apparently no way to
do this in Sys V... This fixes the disappearing prompt problem, at least
on BSD-based systems. (Thanks to Fuat Baran for this.)
C-KERMIT FOR UNIX, CHANGES FROM VERSION 4E(067) TO 4E(068), 24 Jan 88
Make this the standard released version, rename all files to ck* from xk*.
Change version number and date in ckcmai.c.
Makefile:
Add entries for sco286 and sco86 to Makefile (D.W. Bettinger, DEAN@SUVM)
Make ckudia.c depend on ckucmd.h (G. Uddeborg, uddeborg@chalmers.se)
ckwart.c:
Change ungetc(c) to ungetc(c,fp) in case '/' in gettoken().
ckcfns.c:
In function cwd(), after changing directory, ask system for new directory
name by calling new function zgtdir().
ckuusr.c:
Add stptrap() function to allow job to be suspended by Ctrl-Z.
Change call to dial() to ckdial().
ckudia.c:
Change name of dial() to ckdial() to avoid name conflict.
Add support for ATT 7300 modem from R.E. Hill (untested).
ckutio.c:
Add corrections to conint() from Bob Brown (brown@carrara.marble.com)
to make Ctrl-Z job suspension work right.
Add support for ATT 7300 modem from R.E. Hill (untested).
ck?fio.c:
Add new function zgtdir() to ck[uvdmi]fio.c, to return name of current
working directory. Call it from ckcfns.c.
C-KERMIT FOR UNIX, CHANGES FROM VERSION 4E(066) TO 4E(067), 5 Aug 87
This version makes the minor corrections to 4E(066) that proved necessary
after the beta test of that release.
- ckcfns.c -
In spar(), fix long packet negotiation to allow "set send packet-length"
override to work.
Rename maxsize parameter of getpkt to bufmax to avoid confusion with global
maxsize.
- ckcfn2.c -
In rpack(), allow 3 tries to get a packet. This allows for hosts (like IBM
mainframes) that echo the CR that terminates C-Kermit's packets with a CRLF.
Misc "lint" cleanups.
- ckcmai.c -
Update program version number and date, give credit to more people.
- ckucon.c -
Change wait(0) to wait((int *)0).
- ckudia.c -
Add Concord Condor CDS 220 2400b modem support from Jim Guyton.
Misc "lint" cleanups.
- ckufio.c -
Change wait(0) to wait((int *)0).
Don't #include <sys/file.h> for Xenix (this might be dangerous?).
In zxcmd, set effective group & user IDs for BSD to override security
checks of csh.
- ckuker.mak (Makefile) -
Added make options for cleaning out intermediate & object files and for lint.
Added make option for CDC VX/VE systems.
Added some comments for improved clarity.
- ckutio.c -
Break a line that was longer than 80 chars.
Add missing return in conditionals at end of ttpkt(), so program can run
on Pyramid and similar systems.
Add support for CDC VX/VE Sys V Unix from S.O. Lidie, Lehigh U.
Don't #include <sys/file.h> for Xenix.
- ckuusr.h -
Move definition of KERMRC here from ckuusr.c.
- ckuusr.c -
Fix parsing of "show paramaters" (now you can edit it).
Change wait(0) to wait((int *)0).
Remove some debug() statements.
Move definition of KERMRC from here to ckuusr.h, so "show" command can find it.
Set default prompt before reading init file instead of after, so "set prompt"
in init file will work.
Set effective group & user IDs for shell command execution.
- ckuus2.c -
Fix help message for "set send/receive packet-length".
- ckuus3.c -
Attempt to fix parsing of "remote cwd" command from take file.
Fix typo in "Extended-length packets requested" message.
- ckvfio.c -
Define PWDCMD so that "cwd" can work (hopefully).
- ckvtio.c -
Add missing syscleanup() function (just returns 0).
C-KERMIT FOR UNIX, CHANGES FROM VERSION 4D(061) TO 4E(066), 5 Aug 87
This version is being released as a test version, because it has not been
tested at all on the Mac, Amiga, VMS, or Data General, or on many of the common
Unix systems (SUN, etc), and has not been tested in local mode at all except
under Ultrix 2.0 on a VAX 750, and under 2.9BSD on a Pro-380.
MAJOR CHANGES:
Added support for long packets.
Performance improvements: less copying of received data, more efficient i/o.
C-Kermit now takes its init file always, even if invoked with command-line
action arguments.
Easy escape from packet mode (^C^C at any time).
Added file bytesize mask to 'set file type {text, binary} {7, 8}' so that
Kermit can be used to strip 8th data bit during file transfer (e.g. of
Wordstar files), independent of parity setting. Default 8.
Added 'set terminal bytesize {7, 8}'. Default 7.
Added 'set retry' command to adjust packet retransmission limit.
Included changes to support Data General, Apollo, Amiga, Mac with Megamax C.
New 'make' options for sys5r3, CIE Regulus, HP-UX, IBM IX/370, zilog.
Better statistics reporting.
Fix a few major bugs:
. Loss of trailing control characters at end of file when sending.
. 2-character checksum now works with 8-bit binary files.
. Background/take-file interaction fixed, maybe.
. Insertion of spurious CRLF at position 4096 when doing 'kermit -k'.
. Parsing of multine 'get' command (again).
Tested against:
Tested under: MS-Kermit VM/CMS DEC-20 VMS Prime Ultrix PDP11
. Ultrix 1.2 on VAX 8650 x
. Ultrix 1.1 on VAX 750 x
. Ultrix 2.0 on VAX 750 x x x x x x x
. Ultrix 2.0 on VAX 8700 x
. System V on 3B20 x x x
. 2.9BSD on Pro-380 x x
THINGS NOT DONE:
Sliding windows.
Cleaning up the horrible #ifdef mess, especially in CKU[TF]IO.C (at least,
not very much).
Improving the command parser. One obvious improvement would be to replace the
relatively limited CKUCMD command-parsing package with the newer, more general
and powerful CCMD package. This was not done because (a) CCMD is bigger, and
(b) CCMD has not yet been ported to all the systems that C-Kermit can be built
for (VMS, Data General, etc etc). Anyway, CKUCMD does the job.
Command macros.
A consistent, sensible treatment of program return codes, to allow C-Kermit
to be run from scripts or DCL procedures, etc, so that they can tell whether
Kermit "succeeded" or "failed". But what does failure or success mean?
What if it transfers 29 out of 30 files? What should the return code be?
Improving modem support. There are ioctl's in BSD & Ultrix (TIOC(N)MODEM,
TIOC(N)CAR, TIOCWONLINE) for ignoring/heeding modem signals, but it's not
clear (to me) which versions of BSD they apply to. If somebody wants to
straighten this out in ckutio.c, be my guest.
Dealing in any way with lock files or bidirectional terminal lines, esp. the
acucntrl business in 4.3BSD, the uugetty business in Sys V, making the program
run suid, etc. Got many, many hints about this, but it's so touchy I'll leave
this to somebody who knows what she's doing and can test the results on a
variety of systems. The main problem is that this area is the least
consistent among all the Unix variants. Lock files and directories, their
names, the permissions thereon, and the contents thereof differ from system to
system, from one version of a system to the next, and within the same version
of the same system, from site to site.
REMOTE KERMIT command support in the C-Kermit server.
Attribute packets.
Dialing code for ATT7300 from Richard E. Hill.
"Demon dialer" code from Jon Zeeff.
Code for automatically choosing a dialout line from Frank Wortner.
Support for Tandy 6000 and Alcyon Regulus from Frank Wortner.
etc etc
CHANGES, MODULE BY MODULE:
- ckcdeb.h -
remove #ifdef LONG_DEF ... #endif because LONG_DEF wasn't used anywhere.
remove old commented-out Amiga junk (Phil Julian).
define FREAD and FWRITE for Fortune, which doesn't have sys/file.h
(David Sizeland).
Put conditional comments around vax11c #includes if not vax11c (Ron Heiby).
Add typedef SIGTYP for signal(), it's void under Sys V R3, int elsewhere
(Ron Heiby).
- ckcfn2.c -
Insert #include ckcsym.h before other includes for benefit of Megamax C,
so that symbol MAC can be defined (Jim Noble)
Remove extraneous * from "*pkt++" in for-statement in chk2() (Jim Noble).
change all "screen(SCR_PT,'Q',(long)n,recpkt);" to
"screen(SCR_PT,'Q',(long)(*n),recpkt);" (3 places) (Jim Noble).
Fix type-2 block checks for binary files (make everything unsigned)
(David Wilson).
Change name of unchar() macro to xunchar(), to remove conflict with unchar
typedef for unsigned character on ATT3Bx SVR3 systems (Ron Heiby).
Add support for long packets, mostly in rpack() and spack().
In input(), recognize a valid Error packet even if it has the wrong
sequence number.
Make chk2() only return the low order 12 bits of the checksum, to ward off
sign extension problems.
Remove extra level of copying by eliminating call to inlin() in rpack().
Instead, call ttinl() directly.
Replace rpack() and spack() with "book-Kermit" versions, to allow receiving
and sending of long packets, and removing many extraneous and time-consuming
validity checks.
Change packet logging functions to start at the ^A when there are leading
nulls (e.g. padding) that would otherwise act as string terminators.
Recode dopar() to do a simple table lookup, rather than calculate parity,
to improve packet construction speed.
Fix resend() to resend a packet even if it has leading null pad characters.
- ckcfns.c -
Zillions of "#ifdef datageneral...#endif" sections added, mostly having
to do with wildcard expansion, yuck (the ckc* files weren't s'posed to have
system dependencies).
Changed extern long tsecs to extern int tsecs.
Fixed getpkt() to remember final leftovers, so that trailing control
characters are not ommitted during send (Gordon Scott).
Fixed sdebu() to display seol rather than eol (Scott Ribe).
Add rdebu() to display rpar() results.
Change name of unchar() macro to xunchar() to avoid S5r3 name conflict.
Cast tsecs to (long) in call to tlog in tstats() (Dan Murphy).
Replace rpar() and spar() with "book-Kermit" versions.
Remove extraneous variable chklen.
Add resetc() function to reset some statistics counters.
Move fstats(), tstats(), sdebu(), and rdebu() from here to ckuus2.c,
because ckcfns.c had grown too large for some systems (like PDP-11s).
Must keep text size of each module below 8K!
- ckcker.h -
Change name of unchar() macro to xunchar().
- ckcmai.c -
Process init file before reading command line args.
SAS version had some code to support the REMOTE KERMIT command via a
temp file kludge, which was omitted (do it right, use CCMD, maybe next
release).
Shortened hlptxt again, sigh (for Xenix).
#include "ckcsym.h" for Mac.
#ifdef datageneral for longer filenames.
#ifdef for Apollo which wants to use main() for something else.
New server REMOTE HELP message for Mac.
Remove extraneous variable chklen.
- ckcpro.w -
Change calling convention for rpar(), which now returns a string pointer.
Reset the tty after returning from packet protocol.
Remove extraneous variable 'image', which caused problems for some compilers.
Issue "Escape back" messages when given 'send' or 'receive' command in
remote mode.
Terminate with message when error packet received and running in background
(Les Mikesell).
Only reset statistics counters when files are actually being transferred.
- ckucmd.c -
Many conditionals added to support Apollo and Data General.
- ckufio.c -
make zchout return -1 or 0, rather than just passing along ferror's
return code.
change NULL arg to execl to (char *)NULL in zxcmd().
Various conditionals for Apollo Aegis.
Updated support for Fortune (now FT18), from David Sizeland, London University
Medical School.
#include <sys/types.h> before other includes (Les M).
- ckutio.c -
Many Apollo Aegis conditionals.
Minor Fortune changes.
In conint(), always perform background check, so that backgrd flag can
be set correctly. This allows errors in TAKE files to be fatal once again
(as they were in 4C). (Gordon Scott)
Also in conint(), enable SIGTERM and SIGHUP signals so lock files can be
cleaned up (Les M).
Rearrange the whole conint() function until it seems to make sense, and
try to make connoi() symmetrical with it, i.e. put back the same interrupts
that conint() set traps for.
Remove trailing text from #endif's.
In ttpkt(), the call to fcntl should OR the FNDELAY bit into the flags,
not AND it! (2 places) (Howard Chu, umich) For BSD, replace this call
with an ioctl() to set and unset FIONBIO (blocking/nonblocking i/o).
(Later, don't do any of this for BSD. Measurements showed BSD does better
with blocking reads and buffer checks.)
Make some changes to myread() so that it actually works under 4.xBSD.
Change some of the System III/V code as well, so that myread() can actually
return -1 when no data is available (inspection of the previous code showed
that this could never happen before). (Later, BSD doesn't use myread() any
more.)
Add parity to list of args for ttpkt(), so that it can be saved for use by
other tt functions, particularly ttinl(). Saves another copy step. Add
parity arg to calls from ckcpro.w and ckudia.c. *** WARNING -- This required
corresponding changes in ck[idvm...]tio.c, which could not be tested! ***
Allow user to type ^C^C anytime during packet protocol to exit from
the program and restore terminal modes, by checking for this in ttinl(),
and adding a new -2 return code. *** Need to change ck[vd...]tio.c too! ***
Add support for HP-UX dialout modems from Bill Coalson of McDonnell Douglas.
Add syscleanup() function, currently empty.
Rearrange myread() a little bit for doing myunread() (Les M).
Totally rewrite ttinl() for efficiency & cleanliness. No #ifdef's!
- ckuusr.h -
Add symbol for 'set terminal'.
- ckuusr.c -
Return(0) from parser when we exit from command file.
change dcl of istat & qstat from int to SIGTYP.
in cmdlin(), make sure to set quiet = 1 if 'k' option was elected. This
fixes the infamous 4K CRLF bug (the 'conoll("")' in ckcmai.c was inserting
an unbuffered CRLF into the buffered data after the first 4K buffer).
Add 'set retry'.
Add call to syscleanup() from doexit().
Change some GOOD_EXITs to BAD_EXITs.
Fix parsing of the last line of multiline 'get' to allow editing.
Fix reading multiline 'get' commands from 'take' file.
Move functions shopar(), dolog(), debopn() to ckuus2 because ckuusr.c was
getting too big to compile on some systems (PDP-11s, etc). Also, move
statistics display to new function dostat() in ckuus2.c.
- ckuus2.c -
Some new messages for Data General.
Add '-e' (extended packet length) to usage() message, but remove -h so
whole message still fits on screen.
Fix hmsg() to allow editing of 'help' commands. Previously, operations like
'help send<esc><^W>' would fracture the command line.
Move functions shopar(), dolog(), debopn() here from ckuusr.c. Add dostat().
In shopar(), display limits on send & receive packet lengths, file and
terminal byte sizes.
Move fstats(), tstats(), sdebu(), and rdebu() here from ckcfns.c.
- ckuus3.c -
Conditionals for Data General.
Add 'set retry'.
Add support for long packets in 'set send/receive packet-length'.
Add trailing argument to 'set file type {binary, text} {7, 8}'.
Add 'set terminal bytesize {7, 8}'.
Remove extraneous variable 'image', which caused problems for some compilers.
Increase debug and transaction log string buffer lengths, and do length
checking before sprintf()'s to avoid core dumps.
- ckucon.c -
Before forking, do signal(SIGUSR1,SIG_SIGN) to avoid killing parent if
connecting to a line with no carrier. Without this, the child's signal would
arrive before the parent's handler was set up (Les M).
- ckudia.c -
Change declarations of savAlrm and savInt from int to SIGTYP (Ron Heiby).
Change Hayes dialing string from AT DT to AT D.
Change Ventel modem dial string from "<K%s'r>" to "<K%s\r>" (Jim Knutson).
- ckuscr.c -
Change declaration of savAlrm from int to SIGTYP (Ron Heiby).
Don't output gratuitous messages when in quiet mode.
Increase script buffer size (SBUFL) from 300 to 512 (Les M).
Remove 7-char restriction on "expect" strings (Les M). Then remove this
change after core dumps.
Log script execution to session log. Requires addition of new flushi()
function.
- ckwart.c -
Several minor fixes from Jim Noble, mostly regarding format of output file.
- Makefile (ckuker.mak) -
New Fortune support under "make ft18" (David Sizeland).
New make option for "sys5r3" (Ron Heiby).
New make option for "cie" (David Lawyer).
New make option for "hpux" (Bill Coalson).
New make option for "ix370" (Wayne Van Pelt).
New make option for "zilog" (Dave Woolley).
Add Xenix hints (Dan Murphy).
C-KERMIT FOR UNIX, CHANGES FROM 4D(060) TO 4D(061), 9 SEP 86:
Changes from Jack Rouse and Phil Julian of SAS Institute:
. Commodore Amiga support replaced, all-new CKI*.* files.
. Revert CKUCMD.[CH] and CKUUS?.[CH] to their old selves (mostly).
. Fix multiline GET parsing.
. Supply a missing printf() parameter in CKWART.C.
Other changes:
. Fix top-level parse loop in CKUUSR.C to reset any erroneous start state.
. Make sysinit() in CK[UVMI]IO.C return -1 if it fails, 0 if it succeeds.
. Have CKCMAI.C check sysinit() return code.
. Change refs in CKUFIO.C to _file member of FILE structure to fileno().
. In CKUFIO.C, have zclosf() kill fork before wait().
. In CKUTIO.C, fix typos in Sys-V speed setting code.
. In CKCFN2.C fix errpkt() to close open files.
. Add 4.3BSD acu control code to CKUTIO.C, under NEWUUCP conditional.
Compiled and tested under Ultrix 1.1 (= 4.2BSD), Ultrix 1.2 (whatever that
may be a hybrid of), 2.9BSD on a DEC Pro/380, and true 4.3BSD on a VAX
11/750 (4.3BSD includes an earlier version of C-Kermit -- 4C(057) -- on
its distribution tape).
C-KERMIT FOR UNIX, CHANGES FROM 4C(058) TO 4D(060), 29 APR 86:
. Add support for Commodore Amiga (Lattice C) from Davide Cervone of Rochester
University in modules CKI*.*, with minor changes to CKCMAI.C, CKUUS?.C,
CKUCMD.C, CKCDEB.H. No effect on UNIX Kermit.
. Fix several minor bugs in UNIX version:
- Multiline GET command failure when executed from TAKE file (CKUUSR.C).
- File collision renaming bugs fixed, algorithm improved (CKUFIO.C).
- CONNECT command now reports fork creation failure (CKUCON.C).
C-KERMIT FOR UNIX, CHANGES FROM 4C(057) TO 4C(058), 19 MAR 86:
makefile:
. Add special entry "rtu" for Masscomp.
. Fix up "bsd29" entry.
ckcdeb.h:
. Added defs for CHAR and LONG for 2.9 BSD.
ckcfns.c:
. Make reof() return a value, like it's supposed to.
. Make spar() set the right packet terminator (seol, not eol).
. Change tinit() to put a NAK packet in retransmit buffer, but don't send it.
. Reset cxseen in reof(), so it isn't sticky for the next file.
ckcfn2.c:
. Fix input() to treat NAK for packet n+1 as ACK for packet n.
. Defend against writing 0 past end of buffer in rpack().
ckcpro.w:
. Don't send NAK automatically at beginning of receive.
. In <sseof> rule, call sfile with argument xflg, like sfile expects.
. Sleep a couple secs before returning to give last packet some time to escape.
ckucon.c:
. Remove ^S from among escape character arguments.
ckufio.c:
. Change execl() calls to have NULL as 5th arg, rather than (char *)0.
. Fix up 2.9 BSD stuff, make it use opendir() for directory stepping.
ckutio.c:
. Fix nontimed read in ttinl() to work.
. Change msleep() to return immediately if argument is 0 (for dial pause).
. Skip setting console modes in con...() functions if not a real tty.
. Give system error message in ttopen() if line can't be opened.
. Remove erroneous references to DIRSIZ.
. Fix up 2.9BSD stuff.
ckuusr.c:
. Change execl() calls to have NULL as 5th arg, rather than 0, or (char *)0.
ckvfio.c (VAX/VMS support):
. Fix system() to allow spawning interactive shell if '!' command given.
. Fix zopeni() to not spuriously reject certain calls, so REMOTE commands work.
. Fix msleep(m) to return immediately if m==0.
C-KERMIT FOR UNIX, CHANGES FROM 4C(056) TO 4C(057), 31 JUL 85:
general (many modules affected):
. Change "set send packet-length" to override Send-Init value.
. Change still more global character variables from int or char to CHAR.
. Fix 4.1BSD and C/70 support (Charles Brooks), 2.9 support (Herm Fischer).
ckcfns.c:
. Server always executes generic (but not host) commands in text mode.
. Change calling convention for getchx() to allow better reporting of eof.
Some earlier changes had apparently broken PDP-11 support for binary
files because of sign extension...
. Again, several hours after initial announcement of 4C(057) found that above
change had busted things for 68000s (again) because of still more int/char
conversion problems. Changed 'next' from int to char and moved its file
begin/end function to a new flag variable, 'first'. Hopefully, not too many
copies got out; those that did are dated 29 July; the version with this fix
is dated 31 July. Sigh...
ckuusr.c:
. Fix timing statistics to work for 16-bit machines too (Dan).
. Change calls to execl() to terminate with "(char *)0", not "0".
ckufio.c:
. Fix bug that sometimes prevented sending files with 14-char long names.
ckutio.c:
. Herm fixed it up so all the changes in previous edits that broke his
modem control code are now more compatible with it. Also, myread() -- the
nonblocking equivalent of read() -- was fixed to report errors better.
ckudia.c:
. Many changes from Herm & Dan, mostly relating to modem control and resetting
alarms to get the dialing-with-no-carrier-to-connected-with-carrier
transition working again.
C-KERMIT FOR UNIX, CHANGES FROM 4C(055) TO 4C(056), 11 JUL 85:
ckcpro.w:
. Make new ssfile state, to allow for display of data in ack to file header.
. If data comes in ack to file header, log to transaction file.
. Put local filename in data field of ack to F packet.
. Add calls to new rtimer(), gtimer() to allow transactions to be timed.
. When sending, include D in EOF packet in all cases when interrupted.
Previously, only "czseen" would do it, but not cxseen.
. Upon receipt of Z packet, send Ack AFTER closing file rather than before.
If file can't be closed, send Error packet instead of Ack.
. Upon receipt of error packet while receiving file, discard file.
. Upon receipt of unexpected packet type, send Error, not Nak.
ckcfns.c:
. Change clsof() to accept an argument specifying whether to discard.
. Change clsof() to keep incomplete file regardless of arg if keep != 0.
. Change clsof() to return -1 if output file could not be closed.
. Change name of getch() to getchx() to avoid conflict with libraries.
. Fix Yet Another Problem with 8th-bit Quoting Negotation. The bug was that
if other side said 'N' we would treat 'N' as quoting prefix rather than "NO"
(but only if parity was set to other than none).
. Remove input buffer flush from sfile() (why was it ever there???).
. Change seof() to accept an argument to put in the Z-packet data field.
. Add transaction timing statistics to reof(),reot() for transaction log.
. Combine sfile() and sxpack() into one function.
ckcfn2.c:
. Improve performance of rpack by reducing scan for soh to number of chars
read rather than whole buffer (required changing inlin()'s return code).
. Allow rpack to skip over "blank lines" without failing; this was preventing
file transfer with some systems that always sent CRLF before transmitting
anything (e.g. UCLA's MVS/TSO VTAM).
. Don't flush input buffer at end of rpack(), because if the packet that we
just read is a repeat or an echo, the one we want might be queued up after
it. Instead, flush in input() only after the desired packet arrives.
. Allow user to type ^A^C^C to interrupt rpack and exit cleanly from program.
ckuusr.c:
. Add "incomplete" to "set" parse table and display incomplete in "show".
. Add "%" command for comment lines.
. Add elapsed time and effective baud rate display to "statistics" command.
. Fix "show parameters", had send/receive end-of-packet reversed.
. Make modem-type lookup in "show" a little cleaner.
. Fix "echo" to interpret \ooo escapes in its argument.
ckuus2.c:
. Add "help set incomplete".
. Fix help message for "set line".
ckuus3.c:
. Add "set incomplete" support.
. Allow "set prompt" argument in doublequotes and strip quotes if used, to
allow specification of prompt with leading &/or trailing blanks.
. Fix "set send/receive padding/pad-character" -- they had variables reversed.
ckufio.c:
. For Pro/Venix V1, make MAXWILD and SSPACE even smaller, so malloc() still
has some space left to allocate...
. Change zclose() to return -1 if file could not be closed.
ckutio.c:
. Use Sys III/V nonblocking read() technique also for 4.xBSD -- improves
performance noticably!
. Add rtimer() and gtimer() functions for resetting/getting elapsed time.
. Don't return failure from tthang() if line wasn't open.
. Print warning message if tthang() or ttunlk() fail.
. In ttclos(), relinquish exclusive access.
. Change some #ifdefs so they depend on features, like FIONREAD, rather than
system, like BSD4. This allows collapsing a lot of redundant code.
ckucon.c:
. Add hangup (h) option to escape character arguments.
ckuscr.c:
. Change static timeInt() to global scrtime() to avoid problems on code
mapped systems.
C-KERMIT FOR UNIX, CHANGES FROM 4C(054) TO 4C(055), 28 JUNE 85:
ckudia.c (all changes by Dan Schullman, DEC):
. Add support for US Robotics modem (untested) from Joe Orost at Berkeley.
. Reorganize MDMINF data structure to accommodate US Robotics (some char
fields had to become strings).
. Allow interrupts (SIGINT, e.g. ^C) to cancel dialing in progress.
. Ring bell when connection made successfully.
. Close line on failures.
. Allow stored numbers with DF100 and 200 modems.
ckudia.c now supports the following modems:
. Cermetek Info-Mate 212 A
. DEC DF03-AC
. DEC DF100 Series
. DEC DF200 Series
. General Data Comm 212A/ED
. Hayes Smartmodem 1200 & compatibles
. Penril
. Racal Vadic
. US Robotics 212A
. Ventel
Plus "unknown" modems and direct (modemless) connections.
C-KERMIT FOR UNIX, CHANGES FROM 4C(053) TO 4C(054), 25 JUNE 85:
ckuker.mak (makefile):
. Add "make ft17" for Fortune 16:32 For:Pro 1.7.
. Add "make uts24" for Amdahl UTS 2.4
. Add "make valid" for Valid Scaldstar CAD system
. Add "make c70" for BBN C/70 IOS 2.4
ckcmai.c:
. Add call to sysinit()
ck[uvm]tio.c:
. Add sysinit() function. For VMS, open console. For others, null for now.
ckutio.c, ckufio.c:
. Add support for Fortune 16:32, mostly like 4.1bsd.
. Ditto for Amdahl UTS 2.4, mostly like V7.
ckuus2.c:
. Expand a couple tabs in hlp1 (-h help message) so things line up right.
C-KERMIT FOR UNIX, CHANGES FROM 4C(052) TO 4C(053), 21 JUNE 85:
ckcfn2.c:
. Change dopar() to be of type CHAR.
. Fix dopar() to calculate odd parity correctly.
ckucon.c, ckuscr.c:
. Add "extern CHAR dopar();" declarations.
C-KERMIT FOR UNIX, CHANGES FROM 4C(050) TO 4C(052), 18 JUNE 85:
ckcfns.c:
. Repair rpar() and spar() handling of 8th bit prefix negotiation.
. In sinit(), when sending from stdin, allow "-a name" to work.
. In rcvfil(), guard against receiving a null F packet.
ckcmai.c:
. Change hlptxt[] to contain less than 256 characters (for Xenix)
ckcpro.c:
. In proto() call ttopen() with a temp, x, rather than "local", then only
set local if x was set.
ckucmd.c:
. In cmifi(), make y long rather than int. This was making some 16-bit
machines erroneously report that files longer than 32K could not be found.
ckuker.mak (makefile):
. Change symbol 3BX to ATT3BX (has to start with letter)
. Remove line continuations in the middle of strings
. Add entry for sys3nid (System III/V on PDP-11 with no I&D space)
ckufio.c:
. Add appropriate #ifdef for TOWER1 in zkself()
. Add 2.9bsd identification string
ckutio.c:
. Move definition of CTTNAM from here to ckcdeb.h, so it can be shared.
. In initrawq() (for V7 only) read the proc table again after fork().
. Change symbol 3BX to ATT3BX.
. Get rid of the (void) casts in strxxx() invocations -- the proliferation
of conditionals was getting ridiculous, and it was only to please lint.
. In conbin() for Sys III/V, open terminal in 7-bit, parity-enabled mode rather
than 8-bit, no-parity mode (some sites actually use parity).
. In conint(), trap and ignore QUIT signal, trap SIGHUP and handle like SIGINT.
This prevents lock files from being left behind after hangup or quit.
. In connoi(), turn off traps for SIGQUIT, SIGHUP.
. In ttopen(), add Sys III/V code using ctermid() to better determine remote/
local status when stdin redirected. If not Sys III/V and stdin redirected,
assume local, rather than remote, so that "set speed" and other local-mode
only commands will work.
. Add 2.9bsd identification string
. Make new ANYBSD symbol to select 4.1, 4.2, and 2.9. In some cases, all 3
work the same, in others, 2.9 and 4.2 are the same, 4.1 special.
ckuus*.c:
. In command line invocation, base local/remote determination on CTTNAM.
. In "set line" only ask ttopen() to set local/remote if not default tty.
. Ignore SIGQUIT and SIGINT signals while inferior shell active in XXSHE:.
Previously, both Kermit and the inferior shell would catch them.
. In XYLINE: call ttopen() with a temp, x, rather than "local", then only
set local if x was set.
. Change message "status report..." to "status report:" to avoid dot confusion.
C-KERMIT FOR UNIX, CHANGES FROM VERSION 4.2(030) TO 4C(050), 30 May 85:
All files except ckwart.* have been renamed according to a consistent
convention, see ckaaaa.hlp for an explanation.
Copyright notices added to every module, so we can't be enjoined from
distributing our own program if we give the right to other organizations,
like Berkeley, to distribute it.
ckwart.c
. Move the #define in the txt1 string to not start on a new line.
. Fix the comments printed by wart so they can't be construed as comments
by the compiler that compiles wart.
. Include formfeed among the skipped-over whitespace characters.
. Add wart version information.
ckcdeb.h (formerly ckdebu.h):
Forget about typedefing LONG to be unsigned long -- it causes too many
problems for PDP-11 C compilers, etc. Just let LONG be long.
If symbols DEBUG and TLOG not defined (e.g. in Makefile), then define
null macros to replace calls to the debug() and tlog() functions, to save
space and execution time. Program is too big for Macintosh with these
functions compiled in.
Establish a symbol NLCHAR. If this symbol is defined, then text (ascii)
files are stored with a single character (such as lf or cr) terminating
each line, and this character is the value of NLCHAR. If not defined,
then the system uses CRLF. When NLCHAR is defined, C-Kermit maps between
that character and CRLF.
ckcfns.c, ckcfn2.c (formerly ckfns.c, ckfns2.c):
. change all calls to screen() to new form.
. fix bug in sfile() that sometimes prevented literal names from working.
. don't translate send-as names in sfile, always use them literally.
. change input() to always resend() after getting a NAK.
. change getpkt to clear leftovers when starting new file (next = -1),
so that filenames in F pkt wouldn't have garbage after previous file
was interrupted.
. Change call to zchin() to use new calling convention so bytes with
hi bit on won't be confused with eof on some systems.
. Reset czseen in seof, not in clsif, so that remote ^X while C-Kermit
sending will result in correct Z packet with D in data.
. In resend(), don't send any packet if packet buffer is empty.
. Un-hardwire getch() from Unix newline text file convention.
. Fix bug that sometimes resulted in contents of R or X packet
having first character doubled.
. Fix bug in getpkt that prevented leftovers from being transmitted
after end of file.
. Have tinit() clear c[xz]seen and filnam to prevent bad things happening
after interruption or emergency protocol exit.
. Have syscmd() return 0 if called with null string. This allows single
process systems like the Macintosh to act as servers, even if they can't do
commands like remote directory.
. Send out initial nak when doing receive, so that there will be something
in the packet buffer to resend.
. Check for failure return code from zchout, to catch disk full errors, etc.
. When server getting input from a system function, call zopeni() on new
ZSYSFN channel, rather than circumventing zopeni() by calling zopen().
. Clean up inlin() a little, use maxt vs MAXTRY consistently.
. Change rpack,spack,rpar,spar,etc to use the new, separated send/receive
packet parameters (padding,timeout,eol,soh,etc).
ckcker.h (formerly ckermi.h):
. Removed #include <stdio.h> and <ctype.h> from ckermi.h. Macintosh does not
need all that... (thanks, Bill)
. Remove include of ckdebu.h (now ckcdeb.h).
. Add defs for LF and NUL.
. Add def for new ZSYSFN file i/o channel.
ckcpro.w (formerly ckprot.w) Protocol Module:
. Add "a" state to cancel any transaction.
. Remove entries for input='N', since this is now handled by input().
. Fix "a" state to not cause "OK" message when files closed.
ckucmd.c (formerly ckcmd.c) Unix Command Package:
. Set global cmerrp (error prefix) to be same as prompt, but with '>' stripped.
. Allow interactive command continuation using trailing '\'.
. Change "*bp++ == NUL;" in getwd() to simply "bp++;".
. Test for CR as well as NL for line termination (for Apollo Aegis).
. In ckucmd.h, #define getchar specially for VMS and Aegis.
. In cmfld, return(0) from filling out default when ESC typed; this prevents
"log trans <ESC>transact.log <ESC>transact.log <ESC>transact.log ..."
. In cmtxt, preserve pointers & counts across calls in case of reparse.
. In getwd, return -1, NOT -2, if ^U (line kill) is typed.
ckucon.c (formerly ckconu.c) Connect module:
. When writing to session log, make some minimal attempt to recover
from disk full or other i/o errors (just turn off logging flag).
. Add baud and parity info to status display.
ckudia.c (formerly ckdial.c) Dial command:
. Support added for Racal-Vadic, Cermetek, Penril, General Datacomm.
. Use msleep() for higher precision timing.
ckufio.c (formerly ckzunx.c, and before that ckzbsd.c):
Started from Charles Brooks's 4.2 ckzunx.c, which is the original C-Kermit
release 4.2 version, to which he added 4.1bsd support.
. Fixed zltor() to only count dots after the last '/'.
. Declared malloc as "char *malloc()".
. Change fprintf(fp[n],s) to fputs(s, fp[n]) in zsout & zsoutl.
. Added zkself() function to log self out, for use by server "bye".
. Changed calling convention for zchin() to allow 68000's etc to return EOF.
. Make zopeno() chown the file to self, in case program set[ug]id'd.
. Changed znewn() to try not to contruct a name that is too long.
. Merge in Gregg Wonderly's v7 support.
. Make various changes to v7 support to fit proc table stuff to other systems.
. (023) Changed zopeni(), when called with new ZSYSFN channel number,
to invoke zxcmd() to start a fork and get its fd; also changed zclose()
and chkfn() accordingly.
. (024) In zchki(), allowed 0 as well as S_IFREG as S_IFMT value for ordinary
file; Sys V stat() can return either of these values for an ordinary file.
Also, insert missing #else in zkself().
. (025) declare zchki() to be of type 'long', so that it can return valid
file sizes for big files. Also fix internal variables that hold size to
also be long. (Same change to ckvfio.c.) Also, change ckcfns.c and ckucmd.c
to declare 'long zchki();'.
ckutio.c (formerly ckxunx.c and ckxbsd.c):
Started from Charles Brooks's 4.2 ckxunx.c, which is the original C-Kermit
release 4.2 version, to which he added 4.1bsd support.
. Added the following for Pro/Venix Version 1:
- Filled in msleep() using alarm(-clockticks).
- Filled in conchk() and ttchk() using TIOCQCNT.
- Changed default tty name (dftty) to be "/dev/com1.dout".
- Added line locking via /usr/spool/uucp/LCK..devname and TIOCEXCL.
. Changed local variable c from int to CHAR in ttinl().
. Let CEB's code to hangup line upon close in 4.1bsd also work for 4.2bsd.
. Removed flock() from ttopen(), call ttlock() before trying to open tty.
. Corrected some places where alarms & signals were not turned off.
. Changed calling convention for ttopen() to allow it to set the "local"
variable, since ttopen can call the system to figure out whether a given
device is the job's controlling tty. Also had to change all modules that
call ttopen() to pass this variable by reference instead of by value.
. In ttopen, copy ttname string into a static ttnmsv string global to ckutio
module, rather than just copying the pointer (which is pointing at a moving
target). Should fix PC/IX tthang() problem.
. Add support for AT&T 3B-series under 3BX conditional; initially, it just
follows UXIII conditional, but uses special uucp lock file name.
ckuusr.c, ckuus2.c, ckuus3.c (formerly ckuser.c, ckusr2.c, ckusr3.c):
. all occurrences of printf(s) replaced by printf("%s",s) or puts(s).
. shortening of remaining long strings.
. continuation lines now allowed in commands if line ends with "\".
. make "dir" command arg default to ".", not "*", to prevent recursive listing.
. make "!" command with no args do system("$SHELL").
. removed redundant definitions of ncmd, nrmt, nprm.
. totally redefined and rewrote screen() function.
. Change send-as to use cmtxt, not cmfld; remove cmcfm.
. Fix send command to wait for confirmation after wild filespec (this was
broken by send-as change above, few people saw it).
. Put 'log debug' command in #ifdef DEBUG
. Put 'log transaction' command in #ifdef TLOG
. Use 'transact.log' as default name for transaction log, rather than
'transaction.log', which is too long for all but 4.2bsd Unixes.
. Use symbols for exit() & doexit() return codes, not hardwired 0 and 1.
. Use symbol for name of init file.
. Put Unix-specific messages in #ifdef's
. In 'set line', put speed back to -1 if not local.
. Change "*xargv++;" in cmdlin() to simply "xargv++;".
. Change all "if (x = (cmcfm()) < 0)" to "if ((x = cmcfm()) < 0)".
. In ckuus3, change "turnch == y" to "turnch = y"; this bug prevented
"set handshake" from working.
. Add code in shopar() to look up and display modem type correctly.
. Change "set line" code to have ttopen() figure out local/remote mode.
. Fix "set line" not to erroneously set ttname if it ttopen fails.
. In remote cwd parsing, accept CR as well as NL as password terminator.
. In local directory command, use DIRCMD rather than "ls -l ".
. In screen() function SCR_QE, print long argument with %ld so the ^A
status report doesn't show all 0's on systems where ints and longs
are different length (%ld was already used in the other screen functions).
. Fix multiline 'get' parsing to allow editing (required fixes to ckucmd.c).
. Add conditionals for init file name for various systems.
. Phase out the following set commands:
set end-of-packet, set start-of-packet, set timeout, set padding & pad-ch.
Replace by set send (each of these) and set receive (each of these), to
allow inbound & outbound packet parameters to be set separately.
. Put new set send/receive params in show command display.
. Add version info for ckudia and ckuscr to 'sho ver'.
. Add init file name to 'sho param'.
. Replace system("pwd") in XXCWD code with system(PWDCMD), defined in ckufio.